home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / ARK.ARJ / ARKANOID.TXT < prev    next >
Text File  |  1993-04-19  |  7KB  |  151 lines

  1. Relazione sul programma ARKANOID
  2. di Claudio Bazzan
  3.  
  4. Il programma si compone essenzialmente in due parti. Il codice
  5. sorgente scritto in Pascal e compilabile con il TP6.0 (e
  6. successivi) della Borland, e la parte grafica sviluppata con un
  7. programma per disegnare di pubblico dominio.
  8. Il sorgente Pascal e' suddiviso in 3 unit piu' il programma
  9. principale di poche righe che ha il solo scopo di chiarmare le
  10. procedure di piu' alto livello, vale a dire quelle che controllano
  11. la schermata di presentazione e l'inizio della partita.
  12. Le unit in questione sono la MOUSE.TPU, la SERVICE.TPU e la
  13. SND.TPU. La prima di queste e' stata praticamente importata
  14. dall'esterno e adattata alle necessita del gioco. Come dice il
  15. nome stesso la unit si occupa della gestione del mouse, strumento
  16. indispensabile per il corretto funzionamento del programma;
  17. tuttavia MOUSE.TPU svolge anche altri compiti di non secondaria
  18. importanza come lo spostamento veloce di blocchi di memoria da
  19. un'array all'altro.
  20. Sono state incluse in tale unit anche queste procedure in quanto
  21. scritte in codice assembler e di provenienza esterna, il tutto a
  22. favore di un miglioramento del programma in fase di esecuzione che
  23. specie su processori inferiori all'80386 diventa indispensabile.
  24. Cio' nonostante su processori piu' lenti possono verificarsi dei
  25. disturbi, quali sfarfallamento dell'immagine o rallentamento degli
  26. oggetti in movimento: cio' non e' imputabile al programma ma alla
  27. velocita' con cui esso viene eseguito poiche' ci sono dei tempi
  28. critici entro cui il processore deve terminare determinate
  29. procedure. Il problema deriva infatti dal refresh video che sulla
  30. scheda VGA (nella modalita' 320x200x256 col.) avviene ad una
  31. frequenza di 70Hz; la CPU deve quindi terminare gli spostamenti
  32. degli oggetti in 1/70 di secondo. Se cio' non avviene la scheda
  33. aggiorna la pagina video prima che sia stata rielaborata la nuova
  34. posizione dell'immagine e cio' ne provoca un leggero effetto di
  35. sfarfallamento.
  36. La unit SND.TPU e' invece responsabile della gestione del suono.
  37. Si e' ritenuto opportuno separarla dal resto del programma in modo
  38. da consentire facilmente eventuali modifiche e miglioramenti al
  39. fine di supportare schede sonore professionali (quali ad esempio
  40. la SOUNDBLASTER) e non il semplice cicalino del PC come fa ora.
  41. Infine la unit SERVICE.TPU contiene il programma vero e proprio.
  42. In tale unit e' contenuta la procedura LOADBTM, responsabile del
  43. caricamento della grafica in memoria, anch'essa di provenienza
  44. esterna: viene infatti fornita insieme allo stesso programma
  45. utilizzato per creare i disegni in modo da poter manipolare
  46. quest'ultimi con il Turbo Pascal.
  47. Non mi dilungo oltre nello spiegare il funzionamento delle varie
  48. procedure e unit in quanto lo stesso codice sorgente e' stato
  49. abbondantemente commentato.
  50.  
  51.  
  52. IMPORTANTE
  53.  
  54. Si e' ritenuto opportuno non inserire nel programma un help in
  55. linea, e di rimandare per esso ad una breve documentazione scritta
  56. (che segue) al fine di mantenere per quanto possibile la
  57. verosimiglianza con lo stesso gioco da bar ARKANOID il quale per
  58. ovvie ragioni non consente la consultazione di una pagina d'aiuto
  59. che, fra parentesi, in casi come questi non e' indispensabile.
  60. Vedere quindi quanto segue per avere informazioni sul gioco.
  61.  
  62.  
  63.  
  64.  
  65. ARKANOID: istruzioni per l'uso.
  66.  
  67. Lo scopo del gioco e' molto semplice: si tratta di pilotare col
  68. mouse una piccola piattaforma (il suo nome e' VAUS), e con essa
  69. cercare di colpire la pallina al fine di spingerla contro i
  70. mattoncini e abbatterli.
  71. I mattoncini sono di vari colori, ad ogni colore e' associato un
  72. determinato punteggio, quando un mattoncino viene abbattuto il
  73. punteggio ad esso associato viene sommato a quello del giocatore.
  74. I mattoncini di colore grigio necessitano di due colpi per essere
  75. abbattuti mentre quelli di colore beige sono un bersaglio
  76. indistruttibile e hanno il solo scopo di ostacolare i movimenti
  77. della pallina. Ogni round di gioco (chiamato anche quadro o muro)
  78. termina quando tutti i mattoncini (eccetto ovviamente quelli
  79. indistruttibili) vengono abbattuti. Il gioco termina invece quando
  80. si perdono tutte le vite a disposizione. All'inizio della partita
  81. si hanno 5 vite a disposizione (indicate dal vaus in gioco piu' i
  82. quattro di riserva in basso a sinistra). Ogni pallina persa
  83. comporta la distruzione di un VAUS e quindi la perdita di una
  84. vita.
  85. Durante il gioco cadono casualmente verso il vaus delle capsule
  86. con cui e' possibile guadagnare dei bonus che variano a seconda
  87. della lettera contenuta. Per avere il bonus e' necessario
  88. raccogliere con il vaus la capsula; attenzione pero' a non
  89. lasciare cadere la pallina mentre si fa cio'.
  90. Segue una tabella con la descrizione dei vari bonus.
  91.  
  92. Lettera    Bonus
  93.  
  94.   L        Permette si abbattere i mattoncini sparandoci contro.
  95.            Usare il tasto sinistro del mouse per azionare i laser.
  96.  
  97.   E        Raddoppia le dimensioni del vaus.
  98.  
  99.   S        Diminuisce la velocita' con cui si muove la pallina.
  100.  
  101.   C        Abilita' l'effetto magnete che permette di trattenere
  102.            per un certo periodo di tempo la pallina sul vaus.
  103.            Per rilanciare la pallina usare il tasto sinistro del
  104.            mouse.
  105.  
  106.   D        Fa schizzare nell'area di gioco altre due palline.
  107.  
  108.   B        Apre una device di teletrasporto che consente di
  109.            accedere direttamente al round successivo. Portarsi
  110.            col vaus all'estrema destra dell'area di gioco.
  111.  
  112.   P        Regala una vita extra che si somma a quelle
  113.            disponibili.
  114.  
  115. Non e' possibile usufruire di piu' di un bonus alla volta. In
  116. altre parole ogni capsula annulla l'effetto di quella presa in
  117. precedenza.
  118.  
  119. A scopo dimostrativo, poiche' il fine di questo programma e'
  120. didattico, si e' pensato di attivare alcune procedure che
  121. consentono di far cadere a comando le capsule con i bonus, cosa
  122. che nel gioco reale non accade. Quindi con le prime 7 lettere
  123. dell'alfabeto (a,b,c,d,e,f,g), e' possibile chiamare una qualunque
  124. delle 7 capsule.
  125.  
  126. L'opzione a due giocatori consente di giocare a turno una pallina
  127. per uno. I punteggi e i progressi dei due giocatori sono comunque
  128. tenuti divisi. Cambiano solo i turni di gioco (che vengono di
  129. volta in volta segnalati).
  130.  
  131. All'inizio e' possibile scegliere tramite i tasti F1/F2 il livello
  132. di gioco che determina l'accelerazione della pallina (che e'
  133. sempre e comunque maggiore di zero). Il livello piu' facile e' il
  134. livello 1, il piu' difficile e' il livello 5. Il gioco all'inizio
  135. viene regolato per default al livello 3.
  136.  
  137. Sempre nella schermata principale e' possibile attivare e
  138. disattivare il sonoro del gioco per mezzo della barra spaziatrice.
  139.  
  140. Infine una volta selezionata la partita ad un giocatore (tasto
  141. sinistro del mouse) o a due giocatori (tasto destro), viene
  142. chiesto di scegliere il muro dal quale vuole iniziare a giocare.
  143. Il numero complessivo di muri e' 32, dopodiche' il gioco riparte
  144. ciclicamente dal primo.
  145.  
  146.  
  147.  
  148.  
  149.  
  150.                                                   Claudio Bazzan
  151.